]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
5 years agoappDisplay/baseAppView: Cleanup animate()
Georges Basile Stavracas Neto [Wed, 2 Dec 2020 21:02:46 +0000 (18:02 -0300)]
appDisplay/baseAppView: Cleanup animate()

Simplify the opacity dance to simply setting it to the initial value
before animating (0 when animating in, and 255 when animating out),
and to the final value after the spring animation is done (vice-versa).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoiconGrid/iconGrid: Wait for icon sizes before running spring animation
Georges Basile Stavracas Neto [Wed, 2 Dec 2020 20:43:13 +0000 (17:43 -0300)]
iconGrid/iconGrid: Wait for icon sizes before running spring animation

To run the spring animation, IconGrid uses the transformed position and size
of the icons. This works okay when IconGridLayout doesn't need to update the
icon sizes, but looks bad when IconGridLayout selects a different icon size.

Wait for the icon sizes to be recalculated, and the icons  beallocated, before
running the spring animation. If no icon size update is pending, run the spring
animation directly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoappDisplay/baseAppView: Update page indicators on page-changed
Georges Basile Stavracas Neto [Wed, 2 Dec 2020 18:58:49 +0000 (15:58 -0300)]
appDisplay/baseAppView: Update page indicators on page-changed

The number of pages doesn't depend on the allocated size anymore. Move updating
page indicators from BaseAppView.adaptToSize() to a IconGrid::pages-changed
callback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoiconGrid/iconGridLayout: Simplify _findBestIconSize()
Georges Basile Stavracas Neto [Tue, 1 Dec 2020 20:58:09 +0000 (17:58 -0300)]
iconGrid/iconGridLayout: Simplify _findBestIconSize()

The 'bestSize' variable isn't necessary anymore, remove it in favor of
simply returning the 'size' or, if no suitable size found, IconSize.TINY.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoappDisplay/baseAppView: Use a separate flag for animated indicators
Georges Basile Stavracas Neto [Wed, 2 Dec 2020 21:35:38 +0000 (18:35 -0300)]
appDisplay/baseAppView: Use a separate flag for animated indicators

In the future, both AppDisplay and FolderView will be horizontal, and thus
using the orientation to determine whether to use animated indicators won't
be enough.

Use a different flag to control that, and make FolderView not use animated
page indicators.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agopageIndicator/animatedPageIndicators: Implement vertical animation
Georges Basile Stavracas Neto [Wed, 2 Dec 2020 21:33:26 +0000 (18:33 -0300)]
pageIndicator/animatedPageIndicators: Implement vertical animation

It is basically the same of animating horizontally, except on the Y axis, and
based on the height of the indicators.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoappDisplay: Properly destroy SwipeTracker on destroy
Georges Basile Stavracas Neto [Thu, 26 Nov 2020 18:10:11 +0000 (15:10 -0300)]
appDisplay: Properly destroy SwipeTracker on destroy

SwipeTracker connects to signals of the stage, but doesn't disconnect on
destroy, leaving them hanging and potentially running callbacks for
destroyed objects.

This is visible when removing a folder by dragging all icons out, and
running the swipe gestures, which will produce a bunch of warnings.

Explicitly destroy, remove, and disconnect the swipe tracker.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agooverviewControls: Simplify DashSpacer
Georges Basile Stavracas Neto [Fri, 27 Nov 2020 14:07:03 +0000 (11:07 -0300)]
overviewControls: Simplify DashSpacer

Make it subclass ClutterActor, since we don't need any of StWidget's
features. Pass the source actor of the bind constraint in the
constructor, and remove the extra method to set the source actor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agooverviewControls: Remove ControlsLayout
Georges Basile Stavracas Neto [Fri, 27 Nov 2020 13:59:29 +0000 (10:59 -0300)]
overviewControls: Remove ControlsLayout

ControlsLayout is a tiny layout manager whose only purpose
is emit "allocation-changed" after allocation. This signal
was listened to update the workspaces actual geometry.

However, since d66cd0d2067a, ControlsManager doesn't listen
to this signal anymore, rendering the class useless.

Remove ControlsLayout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

5 years agoPost-release version bump
Florian Müllner [Wed, 2 Dec 2020 19:40:04 +0000 (20:40 +0100)]
Post-release version bump

5 years agoTag version 40.alpha
Florian Müllner [Wed, 2 Dec 2020 17:43:40 +0000 (18:43 +0100)]
Tag version 40.alpha

Update NEWS.

5 years agocleanup: Use optional chaining and ?? operator
Florian Müllner [Wed, 12 Aug 2020 18:59:01 +0000 (20:59 +0200)]
cleanup: Use optional chaining and ?? operator

Those operators have been supported since gjs switched to mozjs78
last cycle. While not ground-breaking, using it makes for a nice
cleanup here and there.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1517>

5 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 2 Dec 2020 12:54:08 +0000 (13:54 +0100)]
Updated Spanish translation

5 years agost-theme-node-drawing: Render all shadow sections with thickness > 0
Daniel van Vugt [Wed, 19 Aug 2020 11:22:51 +0000 (19:22 +0800)]
st-theme-node-drawing: Render all shadow sections with thickness > 0

In some styles the top or left sections of box-shadows would go missing
even though they had non-zero thickness. This was because the inner
local coordinates could become very slightly negative and were then
incorrectly judged to be invisible.

Negative coordinates should not be ignored because that's where the
entire top/left sections of shadow are meant to exist. It's only the
sections of shadow with zero thickness that we should skip.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1417>

5 years agomessageTray: Default to generic policy
Florian Müllner [Thu, 22 Oct 2020 18:11:14 +0000 (20:11 +0200)]
messageTray: Default to generic policy

How and if notifications are shown is controlled by NotificationPolicy
objects. But ever since 098bd45, only notification daemon sources or
notifications associated with an app are hooked up to GSettings.

The hardcoded default policy for built-in notifications (including
those provided by extensions) arguably made sense back then, but
now that the main setting has been rebranded as "Do Not Disturb"
and is exposed prominently in the calendar drop-down, following
GSettings is a better default.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3291

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1511>

5 years agoiconGrid/iconGridLayout: Make sure to always update best size
Georges Basile Stavracas Neto [Tue, 1 Dec 2020 01:14:17 +0000 (22:14 -0300)]
iconGrid/iconGridLayout: Make sure to always update best size

When selecting the best icon size for the available area, we
iterate from the biggest icon size to the smallest one, and
stop when finding a size that fits the available area.

However, the 'bestSize' variable is only updated when the
available area is positive. This is problematic in super bad
cases like when none of the icon sizes actually fit the availabe
area, which was hit with a previous iteration of this branch.

Make sure to update the best size while iterating, so that the
smallest size is selected even in such bad cases.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agoiconGrid/iconGridLayout: Floor children position
Georges Basile Stavracas Neto [Thu, 26 Nov 2020 21:07:39 +0000 (18:07 -0300)]
iconGrid/iconGridLayout: Floor children position

So that we don't end up with positions misaligned from the pixel grid.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agotheme: Add page padding to the icon grid
Georges Basile Stavracas Neto [Wed, 25 Nov 2020 21:52:29 +0000 (18:52 -0300)]
theme: Add page padding to the icon grid

Add padding to the app grid pages. Values adjusted as per
design feedback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agoiconGrid/iconGrid: Fill pages by default
Georges Basile Stavracas Neto [Wed, 25 Nov 2020 21:50:02 +0000 (18:50 -0300)]
iconGrid/iconGrid: Fill pages by default

Use the Clutter.ActorAlign.FILL alignment by default, which
expands the grid until max-row|column-spacing is hit. This
was the behavior we originally wanted for the icon grid, and
it's finally being realized.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agoiconGrid/iconGrid: Hook page-padding with CSS
Georges Basile Stavracas Neto [Wed, 25 Nov 2020 21:42:03 +0000 (18:42 -0300)]
iconGrid/iconGrid: Hook page-padding with CSS

Add support for setting the page padding of the icon grid
through CSS. Unfortunately, each side needs to be specificied
manually, since it's not a regular padding property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agoiconGrid/iconGridLayout: Add support for page-padding
Georges Basile Stavracas Neto [Wed, 25 Nov 2020 21:39:08 +0000 (18:39 -0300)]
iconGrid/iconGridLayout: Add support for page-padding

This is a new property to control the padding around each page,
as opposed to the padding around the entire container.

Following the original design of IconGridLayout [1], changing
the page-padding property doesn't trigger relayouts; the container
is responsible for queueing a relayout appropriately.

[1] 3555550d5ec5406344ff9a0a3928624dc5679c20

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>

5 years agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Mon, 30 Nov 2020 13:00:43 +0000 (13:00 +0000)]
Update Norwegian Bokmål translation

(cherry picked from commit 0936821ee3a70ad728e27fd324c1440a1c90ed53)

5 years agoUpdate Swedish translation
Anders Jonsson [Sat, 28 Nov 2020 22:00:27 +0000 (22:00 +0000)]
Update Swedish translation

5 years agocredentialManager: Shut up a JS warning
Florian Müllner [Wed, 28 Oct 2020 19:26:18 +0000 (20:26 +0100)]
credentialManager: Shut up a JS warning

Plain classes are private to their file, so accessing them from
another module results in the following warning:

    That property was defined with 'let' or 'const' inside the module.
    This was previously supported, but is not correct according to the
    ES6 standard.

Fix by assigning the class to a public variable instead.

(Eventually switching to ES6 modules with proper imports/exports will
fix this as well)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1512>

5 years agost-bin: Disallow st_bin_set_child with already-parented children
Daniel van Vugt [Tue, 24 Nov 2020 09:34:08 +0000 (17:34 +0800)]
st-bin: Disallow st_bin_set_child with already-parented children

Not checking for this would result in `clutter_actor_add_child`
failing, but StBin keeping a copy in `priv->child`. So later on,
`st_bin_remove` would never be called on it and this assertion
would fail and crash the whole shell:

```
static void
st_bin_destroy (ClutterActor *actor)
{
  StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (actor));

  if (priv->child)
    clutter_actor_destroy (priv->child);
  g_assert (priv->child == NULL);

```

By disallowing spurious `st_bin_set_child` calls we now prevent StBin
from entering such a corrupt state and the above assertion won't fail
anymore.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1507>

5 years agoappDisplay: Don't update multiline for search results
Georges Basile Stavracas Neto [Mon, 16 Nov 2020 18:12:25 +0000 (15:12 -0300)]
appDisplay: Don't update multiline for search results

The grid icons in the search results page doesn't expand to
acommodate the multiline label, resulting in the multiline
label to overflow behind the list search results. However,
after 548d3b62d, it was possible to trigger this behavior
with keyboard focus.

Don't update multiline labels for search results.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1509>

5 years agoworkspace: Handle child not being present in the window slots array
Jonas Dreßler [Sat, 21 Nov 2020 23:10:56 +0000 (00:10 +0100)]
workspace: Handle child not being present in the window slots array

Adding children to the WorkspaceLayout without calling addPreview() is
not supported, so let's log an error in case that happened.

We also have to allocate that child an empty ClutterActorBox, otherwise
Clutter will complain loudly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1481>

5 years agoMake sure to allocate all children in allocate vfuncs
Jonas Dreßler [Sat, 24 Oct 2020 18:25:49 +0000 (20:25 +0200)]
Make sure to allocate all children in allocate vfuncs

Clutter expects actors overriding the allocate vfunc to allocate all
mapped children of the actor, otherwise bad things happen.

So make sure we actually allocate all our visible children in our custom
allocation functions, and since we don't want to give them a real
allocation, just pass them an empty ClutterActorBox.

It would be nice if we had a way to hide children during the allocation
process where no relayout is queued like gtk allows with
gtk_widget_set_child_visible(), then we could avoid those weird empty
ClutterActorBoxes.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3098

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1481>

5 years agoci: Bump ci-fairy template include
Florian Müllner [Tue, 24 Nov 2020 15:23:30 +0000 (16:23 +0100)]
ci: Bump ci-fairy template include

This fixes the check-merge-request job when MR branch and target branch are
on the same repo.

See
https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/66

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1508>

5 years agowindowManager: Check whether metaWindow is NULL after destroy animation
Jonas Dreßler [Sat, 24 Oct 2020 20:24:35 +0000 (22:24 +0200)]
windowManager: Check whether metaWindow is NULL after destroy animation

When logging out or terminating gnome-shell, mutter will unmanage all
open windows, triggering the window-close animation in gnome-shell and
very quickly after that emitting "kill-window-effects". That means we'll
call _destroyWindowDone() to cleanup our animation data, but at this
point the MetaWindow of the window is already gone, so we get an error
that get_meta_window() returns NULL.

Fix that by checking whether get_meta_window() returned NULL and if it
did, don't access the window.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2018

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1483>

5 years agoci: Replace only/except with rules
Jordan Petridis [Fri, 20 Nov 2020 13:54:13 +0000 (14:54 +0100)]
ci: Replace only/except with rules

only/except keywords where deperecated in favor of rules.

Since we started using GNOME/gnome-shell!1492 it introduced
a second pipeline being run for each commit.

Detached pipelines are the only way to access CI_MERGE_REQUEST_*
variables, and if we disable normal pipelines you will need to
create wip/spam MRs in order to run the tests.

This reworked rules makes it so, the normal pipeline needs manual
interaction to be started, and the detached/MR pipleines is always
run.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1503>

5 years agoci: Set some sensible defaults
Jordan Petridis [Fri, 20 Nov 2020 13:25:53 +0000 (14:25 +0100)]
ci: Set some sensible defaults

* Allow for all jobs to be cancelled if a newer commit is pushed
* Automatically retry jobs if they fail due to some infrastructure issue

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1503>

5 years agoci: Check that merge requests have the right settings
Jonas Ådahl [Fri, 20 Nov 2020 18:16:35 +0000 (19:16 +0100)]
ci: Check that merge requests have the right settings

This will catch the missing "allow write access for maintainers" check
box being checked.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1506>

5 years agoci: Use ci-fairy image for commit log check
Jonas Ådahl [Fri, 20 Nov 2020 18:14:49 +0000 (19:14 +0100)]
ci: Use ci-fairy image for commit log check

It's much much smaller.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1506>

5 years agoci: Update mutter image
Florian Müllner [Fri, 20 Nov 2020 14:56:01 +0000 (15:56 +0100)]
ci: Update mutter image

Mutter now produces an image as part of its CI pipeline. Use that
instead of the now outdated manually built image.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1504>

5 years agoci: Use the CI image produced by the pipeline
Florian Müllner [Fri, 20 Nov 2020 14:53:51 +0000 (15:53 +0100)]
ci: Use the CI image produced by the pipeline

The newly-added eslint_mr job still uses the manually built
extension image instead of the image that is built as part
of the pipeline.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1504>

5 years agoci: Fix check-commit-log test failure count
Jonas Ådahl [Fri, 20 Nov 2020 16:34:19 +0000 (17:34 +0100)]
ci: Fix check-commit-log test failure count

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1505>

5 years agoci: Generate junit report if project doesn't enable the registry
Jonas Ådahl [Fri, 20 Nov 2020 16:34:11 +0000 (17:34 +0100)]
ci: Generate junit report if project doesn't enable the registry

The image registry must be enabled for the CI to work, as the container
image from the upstream registry is placed (as a reference, more or
less) in the local registry.

Recently, ci-templates got a bit more helpful if this happened, and will
fail up front and generate a JUnit report with a message describing the
issue.

Update to this version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1505>

5 years agoci: Bump ci-templates to include registry path fix
Jonas Ådahl [Fri, 20 Nov 2020 10:32:12 +0000 (11:32 +0100)]
ci: Bump ci-templates to include registry path fix

ci-templates had a bug where it failed to find the ready-built container
images on the upstream repository due to invalid assumptions about the
relationship between upstream repository and image registry. This
resulted in the container image to be rebuilt, wasting valuable CPU
cycles and storage space. Bump the included ci-templates template to
include the fix for this.

See https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/22.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1502>

5 years agost/button: Remove unused spacing member from private struct
Sebastian Keller [Thu, 29 Oct 2020 19:59:29 +0000 (20:59 +0100)]
st/button: Remove unused spacing member from private struct

It is only ever written, but never used anywhere.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1489>

5 years agost/entry: Don't set font twice on style changes
Sebastian Keller [Thu, 29 Oct 2020 19:59:21 +0000 (20:59 +0100)]
st/entry: Don't set font twice on style changes

Setting the font is already handled by _st_set_text_from_style() since
be76b19300.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1489>

5 years agoci: Use ci-templates for building image
Jonas Ådahl [Fri, 6 Nov 2020 17:59:19 +0000 (18:59 +0100)]
ci: Use ci-templates for building image

This rebuilds the automaticaly whenever the image tag changes. Whenever
something in the image needs to change, alter the installation script
and change the tag to the current date.

This removes the -s (strict) argument from js68, as it doesn't exist in
js78.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1492>

5 years agojs/shellDbus: Do not forward device IDs
Carlos Garnacho [Tue, 17 Nov 2020 14:35:15 +0000 (15:35 +0100)]
js/shellDbus: Do not forward device IDs

We already pass the device event node path for identification purposes,
we can stop doing that here.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1501>

5 years agognome-shell.doap: Make marge-bot a maintainer
Jonas Ådahl [Fri, 6 Nov 2020 17:11:00 +0000 (18:11 +0100)]
gnome-shell.doap: Make marge-bot a maintainer

This is so that the merge button can be restricted to maintainers, thus
decreasing the risk of merging using the merge button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1491>

5 years agoci: Wait for 'check-commit-log' before continuing
Jonas Ådahl [Fri, 6 Nov 2020 17:07:07 +0000 (18:07 +0100)]
ci: Wait for 'check-commit-log' before continuing

The check-commit-log is quick, and to get a result early is helpful as
one can then more quickly check for failures via the report provided via
the JUnit report.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1491>

5 years agoci/check-commit-log: Generate JUnit report
Jonas Ådahl [Fri, 6 Nov 2020 17:02:23 +0000 (18:02 +0100)]
ci/check-commit-log: Generate JUnit report

This means the merge request will see the commit log review issues
causing the pipeline to fail without having to dig through CI log files.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1491>

5 years agoci/check-commit-log: Reverse the merge request URL check
Jonas Ådahl [Fri, 6 Nov 2020 16:59:28 +0000 (17:59 +0100)]
ci/check-commit-log: Reverse the merge request URL check

Instead of making sure there is a reference to a bug or merge request,
make sure there isn't. The reason for this is that marge-bot will always
append a merge request URL in the end of the commit message.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1491>

5 years agolint: Sync configuration with gjs
Florian Müllner [Fri, 13 Nov 2020 22:52:58 +0000 (23:52 +0100)]
lint: Sync configuration with gjs

gjs updated its eslint configuration, so sync our copy.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1498

5 years agocleanup: Remove empty leading/trailing lines in blocks
Florian Müllner [Fri, 13 Nov 2020 22:52:26 +0000 (23:52 +0100)]
cleanup: Remove empty leading/trailing lines in blocks

gjs added a new rule to its eslint ruleset that forbids "block padding",
so make sure we conform to that rule before syncing up the configuration.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1498

5 years agoextensionUtils: Stop using Lang.copyProperties()
Florian Müllner [Fri, 13 Nov 2020 22:54:56 +0000 (23:54 +0100)]
extensionUtils: Stop using Lang.copyProperties()

It is now deprecated, so use object destructuring instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1498

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sun, 15 Nov 2020 07:59:15 +0000 (07:59 +0000)]
Update Ukrainian translation

5 years agoappDisplay: Expand titles on keyboard focus as well
Georges Basile Stavracas Neto [Fri, 13 Nov 2020 17:35:29 +0000 (14:35 -0300)]
appDisplay: Expand titles on keyboard focus as well

In addition to hover, expand wrapped app titles when keyboard
focus is in as well. This gives keyboard users a chance to
read the app name.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3333

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1496

5 years agoappDisplay: Factor out function
Georges Basile Stavracas Neto [Fri, 13 Nov 2020 17:34:22 +0000 (14:34 -0300)]
appDisplay: Factor out function

The function to update the multiline state of the title label
will be reused by the next commit, so move it into a separate
method.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1496

5 years agoappDisplay: Adjust label collapse and expand times
Georges Basile Stavracas Neto [Fri, 13 Nov 2020 17:33:32 +0000 (14:33 -0300)]
appDisplay: Adjust label collapse and expand times

As per design feedback, these times are too slow.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3333

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1496

5 years agoci: Enforce non-legacy style for new code
Florian Müllner [Mon, 9 Nov 2020 19:24:34 +0000 (20:24 +0100)]
ci: Enforce non-legacy style for new code

We have been transitioning to the new coding style for a while now,
and there has been reasonable progress. So hopefully it is not too
intrusive at this point to enforce non-legacy style for all lines
that are changed in a merge request. If it turns out to be still too
annoying, we can always reconsider and turn off the additional job.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1497

5 years agoci: Use junit output format
Florian Müllner [Sat, 7 Nov 2020 06:36:26 +0000 (07:36 +0100)]
ci: Use junit output format

Gitlab has built-in support for junit reports, so switch eslint's
output to that format.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1497

5 years agoci: Use node-js script for running eslint
Florian Müllner [Sat, 7 Nov 2020 06:11:09 +0000 (07:11 +0100)]
ci: Use node-js script for running eslint

This is unnecessary hard in shell when compared to a proper programming
language. It becomes even easier with a node-js script, as that gives us
access to the underlying ESLint module rather than just the CLI interface.

Besides that, node-js has the added benefit that we don't need to add
more dependencies to the CI image.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1497

5 years agoextensions-app: Add extension filtering
Florian Müllner [Wed, 11 Nov 2020 01:37:20 +0000 (02:37 +0100)]
extensions-app: Add extension filtering

It's possible for the list of installed extension to get long
enough to make searching more convenient than scrolling.

Support that by implementing the standard search pattern[0]
with a hidden search bar and a toggle in the headerbar.

[0] https://developer.gnome.org/hig/stable/search.html.en

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3382

5 years agoappDisplay: don't change grid page on adaptToSize
Daniel García Moreno [Thu, 12 Nov 2020 09:38:17 +0000 (10:38 +0100)]
appDisplay: don't change grid page on adaptToSize

If the adapt to size occurs after the grid page has been changed the
page is set to zero. This patch just keep the current page with the same
value that it has before.

Fix https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3388

5 years agoUpdate Portuguese translation
Juliano de Souza Camargo [Wed, 11 Nov 2020 14:29:12 +0000 (14:29 +0000)]
Update Portuguese translation

(cherry picked from commit e93b8263b03ed8bbb3829ad82ebf3664197740c9)

6 years agomodemManager: Add property getters
Popax21 [Thu, 15 Oct 2020 15:14:55 +0000 (15:14 +0000)]
modemManager: Add property getters

gjs improved its default property getter/setters, and as a result it
is no longer possible to set read-only properties.

Add proper getters (backed by private properties) to fix the resulting
errors.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3203

6 years agognome-shell.doap: Mailing list moved to Discouse per #3253
Olav Vitters [Mon, 2 Nov 2020 13:45:13 +0000 (14:45 +0100)]
gnome-shell.doap: Mailing list moved to Discouse per #3253

6 years agoUpdated Danish translation
Ask Hjorth Larsen [Sun, 1 Nov 2020 13:18:43 +0000 (14:18 +0100)]
Updated Danish translation

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sat, 31 Oct 2020 17:00:06 +0000 (17:00 +0000)]
Update Basque translation

6 years agoappDisplay: Only show add/remove favorite when shouldShowApp() is true
Ian Douglas Scott [Fri, 30 Oct 2020 16:57:40 +0000 (09:57 -0700)]
appDisplay: Only show add/remove favorite when shouldShowApp() is true

`shouldShowApp()` is called in `_addFavorite`, so adding a favorite when
this isn't true won't work. Also, it seems when this is false, favorites
that do exist won't be shown anyway.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3342

6 years agoextensions-app: Add quit action
Florian Müllner [Wed, 28 Oct 2020 20:42:48 +0000 (21:42 +0100)]
extensions-app: Add quit action

It's good practice to support the standard <ctrl>-q shortcut, so
add a corresponding action and set its accel accordingly.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3335

6 years agomagnifier: Avoid cursor visibility changes on startup
Carlos Garnacho [Wed, 28 Oct 2020 19:29:55 +0000 (20:29 +0100)]
magnifier: Avoid cursor visibility changes on startup

When initializing the shell, we create the magnifier, and (normally)
let it disabled. This still toggles cursor visibility on, which is
not right since there's other considerations to take during
initialization.

Only do this after actual changes to the magnifier state, so
initialization is left unperturbed.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1486

6 years agomessageTray: Don't play sound when banners are disabled
Florian Müllner [Tue, 27 Oct 2020 00:03:43 +0000 (01:03 +0100)]
messageTray: Don't play sound when banners are disabled

When support for notification sounds was added, it made some sense
to keep the 'enable-sound' setting independent from 'show-banners'.

However that changed when 'show-banners' was rebranded in the UI as
"Do Not Disturb", as sounds are at least as disturbing as the banners.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2873

6 years agoAdapt to pick changes
Georges Basile Stavracas Neto [Sat, 17 Oct 2020 15:34:22 +0000 (12:34 -0300)]
Adapt to pick changes

It turns out, StViewport's pick implementation was broken, since
Clutter stopped reading clipping from the framebuffer. Rejoice with
bugfixing by removing code!

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1470

6 years agowindowPreview: Handle case where window already is part of layout
Jonas Dreßler [Sat, 24 Oct 2020 18:51:56 +0000 (20:51 +0200)]
windowPreview: Handle case where window already is part of layout

We sometimes add dialogs multiple times to the WindowPreview, for
example for modal dialogs we receive both the "window-added" and the
"window-entered-monitor" signal, which means we call
WindowPreview.addDialog() twice.

We handle that fine already in the WindowPreviewLayout and return NULL
in case the window already was added, so simply handle that NULL return
value and bail out of WindowPreview.addDialog() in this case.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1482

6 years agompris: Switch text in title and body
Harry Míchal [Sat, 24 Oct 2020 15:07:10 +0000 (15:07 +0000)]
mpris: Switch text in title and body

Most media players have a media player that shows the title of a song
and artists in the song. In those media players the title is
highlighted (bold text) and the list of artists is under the title.
Shell does the exact opposite in the player in the notification area.

Example media players: Spotify, Rhythmbox, GNOME Music

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1480

6 years agotests/background-size: Remove ClutterActor::paint signal handler usage
Jonas Dreßler [Fri, 23 Oct 2020 20:05:13 +0000 (22:05 +0200)]
tests/background-size: Remove ClutterActor::paint signal handler usage

The background-size interactive test includes a test-case which uses the
ClutterActor::paint signal to hijack the painting of the actor. We're
removing that signal from Clutter, so remove that signal handler and
paint the outer border unconditionally to mark the boundaries of the
widget (the outer border actually never worked to force the cairo/cogl
path). To fix the test, change it to not paint a border on the inner
container in the useCairo=false case, which should make sure the cogl
path gets used.

Also remove the useless useCairo argument from addTestLine().

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1479

6 years agotelepathyClient: Promisify the right class
Florian Müllner [Thu, 22 Oct 2020 19:09:35 +0000 (21:09 +0200)]
telepathyClient: Promisify the right class

send_message_async() is a method of TpTextChannel, not the generic
TpChannel parent class.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3226

6 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 22 Oct 2020 06:56:43 +0000 (08:56 +0200)]
Updated Spanish translation

6 years agoappDisplay: Don't expand title for search results
Georges Basile Stavracas Neto [Wed, 21 Oct 2020 20:20:59 +0000 (17:20 -0300)]
appDisplay: Don't expand title for search results

It creates quite a nasty visual inconsistency where the
search results' icon title overflows beneath the next
search section.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477

6 years agoappDisplay: Let icon labels be multiline when hovered
Georges Basile Stavracas Neto [Wed, 21 Oct 2020 17:33:23 +0000 (14:33 -0300)]
appDisplay: Let icon labels be multiline when hovered

When hovered, remove constraints from the icon labels that
limit the number of lines. Do that inside a saved easing
state so that the allocation can ease the label.

This helps with applications with long titles.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/363

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477

6 years agoiconGrid: Allocate preferred sizes if bigger than child size
Georges Basile Stavracas Neto [Wed, 21 Oct 2020 18:40:20 +0000 (15:40 -0300)]
iconGrid: Allocate preferred sizes if bigger than child size

IconGridLayout uses the biggest minimum size to allocate its
children. Next commit will make app icons with long names show
not ellipsize on hover, and it is important that the icon itself
is able to follow that.

Use preferred size if it's bigger than the minimum size.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477

6 years agoiconGrid: Trivial style cleanup
Georges Basile Stavracas Neto [Wed, 21 Oct 2020 15:58:29 +0000 (12:58 -0300)]
iconGrid: Trivial style cleanup

Turns out, we only needed a gentle push to get this whole
file fit in.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477

6 years agoaudioDeviceSelection: Center-align icons
Florian Müllner [Wed, 21 Oct 2020 01:29:18 +0000 (03:29 +0200)]
audioDeviceSelection: Center-align icons

When the icon area gets allocated additional space, we want the
icons centered rather than left-aligned. This may happen in locales
with long-ish translations for the title or buttons when only a
subset of possible icons is shown.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3307

6 years agodnd: Get transformed size for scaling before unparenting drag actor
Jonas Dreßler [Tue, 20 Oct 2020 23:02:37 +0000 (01:02 +0200)]
dnd: Get transformed size for scaling before unparenting drag actor

Commit de610a13f1ad1e7e34d4b9a81df58d4da3693059 in mutter made it
impossible to access the actors last allocation after unmapping it,
this broke the scale-up/down animation when starting a drag.

Fix that animation again by saving the actors transformed size before
unparenting (and therefore unmapping) the actor instead of afterwards.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1475

6 years agoUpdate Esperanto translation
Carmen Bianca BAKKER [Tue, 20 Oct 2020 08:57:06 +0000 (08:57 +0000)]
Update Esperanto translation

6 years agoStop using GSlice
Robert Mader [Mon, 19 Oct 2020 18:12:27 +0000 (20:12 +0200)]
Stop using GSlice

It has been inofficially deprecated for years, is known to cause issues
with valgrind and potentially hides memory corruption.
Lets stop using it.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1473

6 years agoscreenshot: Handle window screenshot failures gracefully
Florian Müllner [Sun, 18 Oct 2020 14:01:05 +0000 (16:01 +0200)]
screenshot: Handle window screenshot failures gracefully

meta_window_actor_get_image() may return NULL. Instead of crashing,
catch that case and return a proper error.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3258

6 years agoUpdate Friulian translation
Fabio Tomat [Sun, 18 Oct 2020 14:48:26 +0000 (14:48 +0000)]
Update Friulian translation

6 years agoAdapt to CoglFramebuffers turning into GObjects
Jonas Ådahl [Tue, 13 Oct 2020 13:51:22 +0000 (15:51 +0200)]
Adapt to CoglFramebuffers turning into GObjects

Requires some more explicit type casting as things turned into 'void *'
less. Also memory management changes, as we can't use CoglObject
functions anymore for these objects.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1465

6 years agodata: Remove unused GSettings key
Florian Müllner [Thu, 15 Oct 2020 17:10:46 +0000 (19:10 +0200)]
data: Remove unused GSettings key

We no longer have multiple app picker views, so there's no point
in remembering the last one.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1469

6 years agoremoteAccess: Ignore all but the screen record handles on X11
Jonas Ådahl [Tue, 13 Oct 2020 14:28:51 +0000 (16:28 +0200)]
remoteAccess: Ignore all but the screen record handles on X11

We still want to show the red dot when recording the screen on X11, so
only drop the "screen-is-shared" handles when using the X11 session.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3279
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1466

6 years agodocs: Unify on single DocBook version
Jan Tojnar [Tue, 13 Oct 2020 00:58:16 +0000 (02:58 +0200)]
docs: Unify on single DocBook version

DocBook 4.5 is backwards compatible.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1464

6 years agoUpdate Bengali (India) translation
Akarshan Biswas [Sun, 11 Oct 2020 07:04:50 +0000 (07:04 +0000)]
Update Bengali (India) translation

(cherry picked from commit 296af6e1e8c80d400cec91926adcf71b4ec1aec1)

6 years agoUpdate Portuguese translation
Juliano de Souza Camargo [Sat, 10 Oct 2020 00:21:48 +0000 (00:21 +0000)]
Update Portuguese translation

(cherry picked from commit 59dd5d58ae6952c599f8fc73d4e0fc27d8363892)

6 years agopolkitAgent: Drop separate user icon style
Florian Müllner [Thu, 8 Oct 2020 18:47:18 +0000 (20:47 +0200)]
polkitAgent: Drop separate user icon style

It should use the same style as used elsewhere (like the lock screen),
so stop using a separate style class to pick up the defaults.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3252

6 years agoUpdate Friulian translation
Fabio Tomat [Fri, 9 Oct 2020 11:49:53 +0000 (11:49 +0000)]
Update Friulian translation

6 years agoscreenShield: Fix pointer motion signal handler leak
Ray Strode [Tue, 29 Sep 2020 02:28:08 +0000 (22:28 -0400)]
screenShield: Fix pointer motion signal handler leak

The screen shield code listens for motion events on the stage
so that it can hide the pointer until the user moves the mouse.

Unfortunately, if the user never moves the mouse, the signal
handler connection gets leaked.

This commit makes sure the connection gets disconnected when the
shield goes away.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1459

6 years agoscreenShield: Use identity operator when matching for motion events
Ray Strode [Thu, 8 Oct 2020 13:36:30 +0000 (09:36 -0400)]
screenShield: Use identity operator when matching for motion events

The screen shield watches for motion events to know to display
the pointer when the user wiggles their mouse.

It checks for motion events by looking at the event type and
seeing if it is of type `Clutter.EventType.MOTION`.  To do this
comparison it uses the equality operator (==).  Using the equality
operator isn't considered best practice, because it can returns true
when comparing disparate types, if those types happen to be equivalent
after coersion.

From a code resiliance point of view, it's better to use the
identity operator (===), which requires both sides of the comparison
to be of the same type.

As a policy, any legacy code that gets changed or moved should be
switched away from the equality operator to the identity operator, if
appropriate.

This commit makes that change as prep work for a fix to that part of
the code.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1459

6 years agowindowManager: Avoid calling meta_window_actor_thaw when not frozen
Daniel van Vugt [Fri, 2 Oct 2020 08:33:31 +0000 (16:33 +0800)]
windowManager: Avoid calling meta_window_actor_thaw when not frozen

Because that tends to crash in:
```
g_error ("Error in freeze/thaw accounting");
```

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1431
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1453

6 years agoenvironment: Handle @content for property transitions
Andre Moreira Magalhaes [Wed, 7 Oct 2020 23:21:04 +0000 (20:21 -0300)]
environment: Handle @content for property transitions

When using `Actor.ease_property` if the property starts with '@' and the
duration of the transition is zero (which may happen if the actor is not
mapped even if a non-zero duration was passed to `ease_property`), the
impl will try getting the actual target object where the property should
be set.

This works fine for most cases but it currently throws an error when
passing '@content.*' properties. Fix this by handling '@content' as
a property of `actor.content` (used by MetaBackgroundActor when
showing the overview).

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1461

6 years agopanel: Disconnect destroy signal handler when needed
Ray Strode [Tue, 6 Oct 2020 14:29:00 +0000 (10:29 -0400)]
panel: Disconnect destroy signal handler when needed

The panel corners try to match their style to the buttons closest
to them. In order to make sure the corner styles stay in sync with
their neighboring buttons, they connect to the style-changed signals
of the buttons.

In order to make sure the style-changed signal handler isn't leaked,
it gets disconnected when the button is destroyed.

Unfortunately, the destroy signal handler connection itself gets leaked!

This commit ensures the destroy signal handler gets disconnected any
time the neighboring button is re-determined.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1460

6 years agounlockDialog: Use unique unlock-dialog style class
Joonas Henriksson [Wed, 26 Aug 2020 00:06:46 +0000 (03:06 +0300)]
unlockDialog: Use unique unlock-dialog style class

Allows styling the unlock dialog elements individually from the GDM
login dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1421

6 years agoUpdate Portuguese translation
Juliano de Souza Camargo [Wed, 7 Oct 2020 12:55:57 +0000 (12:55 +0000)]
Update Portuguese translation

(cherry picked from commit 9f247879a88024478c81dae19c1899eee7668092)

6 years agoshell: Update to MetaCursorTracker API change
Carlos Garnacho [Mon, 20 Jul 2020 10:08:43 +0000 (12:08 +0200)]
shell: Update to MetaCursorTracker API change

The pointer coordinates in meta_cursor_tracker_get_pointer() are now
returned as a graphene_point_t.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1405